package dao;

import com.google.inject.ImplementedBy;
import models.Item_F_Entity;
import models.ProductInfo_T_Entity;
import services.ProductInfo_Repository_JPA;

import java.util.List;
import java.util.concurrent.CompletionStage;

/**
 * This interface provides a non-blocking API for possibly blocking operations.
 */
@ImplementedBy(ProductInfo_Repository_JPA.class)
public interface ProductInfo_Repository {

    CompletionStage<ProductInfo_T_Entity> getProductByID (Integer ProductID);
    CompletionStage<List<ProductInfo_T_Entity>> getProductList ();
    CompletionStage<List<Item_F_Entity>> getItemByType (String ItemType);
}
